接續昨天的話題,Select一些常用的語法還有以下方式
一、以群組方式進行運算 ( Group by )
假設資料表裡的資料如下:
A01 A02
01 5
01 4
02 3
03 2
02 4
用法:Select A01,sum(A02) AS CC from AAA Group by A01
結果:
A01 CC
01 9
02 7
03 2
它會以A01欄位為主, 將A01欄位值同相資料的A02欄位值做加總
這個在做計算加總時很常用到哦..
二、Group by裡的條件式(Having)
在做Group by時也是可以做條件式的篩選
但是不可用Where做篩選哦..
是用Having來做篩選
用法:Select A01,sum(A02) AS CC from AAA Group by A01 Having A01 = '01'
結果:
A01 CC
01 9
因為用了Having做篩選,所以執行結果的資料筆數就變啦..
有了這招,就可以方便取得資料並做統計運算
當然也不是只能用來做統計運算,還有很多其它的運用方式..
來偷偷吐槽一下.count(),sum()搞混囉.
<pre class="c" name="code">CREATE TABLE ithelp0925(
A01 CHAR(2) NOT NULL,
A02 INT UNSIGNED NOT NULL
);
INSERT INTO ithelp0925(A01, A02) VALUES
('01', 5),
('01', 4),
('02', 3),
('03', 2),
('02', 4);
SELECT A01
, COUNT(A02) AS CC
, SUM(A02) AS DD
FROM ithelp0925
GROUP BY A01;
+-----+----+------+
| A01 | CC | DD |
+-----+----+------+
| 01 | 2 | 9 |
| 02 | 2 | 7 |
| 03 | 1 | 2 |
+-----+----+------+
哈哈,還真的是搞混了...
感謝指教..